Условия в Pascal
Условие - это то, с помощью чего программа "делает выбор". В Pascal условия бывают двух видов: * С двумя вариантами выбора действий (если условие выполняется или не выполняется) * С несколькими вариантами выбора действий (если переменная в условии имеет несколько равенств) Условие с двумя вариантами выбора действий(if-then-else) Синтаксис условия В Pascal условием с двумя вариантами выбора действий является if-then-else У этого условия существует две конструкции, стандартная выглядит так: {Допустим, что существует переменная n } if n=0 then begin {Эти действия выполняются, если условие истинно, здесь: если n=0} end else begin {Эти действия выполняются, если условие ложно, здесь: если n не равно 0} end; Существует также конструкция без блока else: {Допустим, что существует переменная n } if n=0 then begin {Эти действия выполняются, если условие истинно, здесь: если n=0} end; В случае, если n не равен нулю, программа выполняет следующие за if шаги. Логические знаки( =, <, >) Логические И, ИЛИ, НЕ И: Если требуется, чтобы можно было добавить несколько условий, а действие выполнялось бы только в случае истинности их всех, ''необходимо использовать логическое И(AND) Синтаксис: {Допустим, что существуют переменные i и n } if (n=0) and (i<>0) then begin {Эти действия выполняются, если ВСЕ условия истинны, здесь: если n=0 и i не равен 0} end; 'ИЛИ:' Если требуется, чтобы можно было добавить ''несколько условий, а действие выполнялось бы в случае истинности хотя бы одного из них, ''необходимо использовать логическое ИЛИ(OR) {Допустим, что существует переменные i и n } if (n=0) or (i<>0) then begin {Эти действия выполняются, если ХОТЯ БЫ ОДНО из этих условий истинно, здесь: если n=0 или i не равен 0} end; 'НЕ:' Добавление логического НЕ в конструкцию условия делает условие прямо противоположным такому же условию, но без НЕ. {Допустим, что существует переменная n } if n= not 0 then begin {Эти действия выполняются, если условие истинно, здесь: если n НЕ 0} end; ''Правописание НЕ(NOT) с условиями: Распространенные ошибки в построении конструкции if-then-else: Условие с несколькими вариантами выбора действий(case of-else) Проблема if Необходимо нам сделать такую программу, чтобы в строку ввести оценку вида "2", "4" или"3", а получить оценку вида "посредственно" , "хорошо" или "удовлетворительно".Наша программа примет следующий вид: var mark:integer;{это переменная, в которую будет вводиться оценка} begin writeln('Введите оценку: '); read(mark); if mark = 1 then begin writeln('Плохо') end else begin if mark=2 then begin writeln('Посредственно') end else begin if mark=3 then begin writeln('Удовлетворительно') end else begin if mark=4 then begin writeln('Хорошо') end else begin if mark=5 then begin writeln('Отлично') end else begin writeln('Таких оценок не бывает!') end; end; end;{Обратите внимание!} end; end; end. В данном случае получается очень сложная система условий: при невыполнении одного условия предмет проверяется на другое и т.д. Чтобы не перегружать код, используется условие с несколькими вариантами выбора действий(case of-else). Синтаксис(на примере предыдущей программы) var mark:integer;{это переменная, в которую будет вводиться оценка} begin writeln('Введите оценку: '); read(mark); case mark of 1: writeln('Плохо'); 2: writeln('Посредственно'); 3: writeln('Удовлетворительно'); 4: writeln:('Хорошо'); 5: writeln('Отлично'); else writeln('Таких оценок не бывает') end; end. Примечания * Если нужно, чтобы одно из действий выполнялось если переменная равна одному из 2-х и более значений, просто перечислите их через запятую. Пример: case mark of 1,2: writeln('Плохо'); * В отличие от if, в case можно использовать только следующие типы: -- Все целочисленные типы(integer, word, и т.д); -- Символьный тип char; Остальное - запрещено! * Чтобы добавить несколько действий, выполняющихся при равенстве переменных с указанным значением, используйте begin и end. Еще по теме: Pascal ; Категория:Основы Pascal Категория:Статьи I категории важности